%!PS
/B {bind} bind def
/D {def} def
/Q {bind def} B D
/E {exch def} Q
/S {gsave} Q
/R {grestore} Q
/P 20 D
/N P 1 sub D
/I 1 P div D
initclip clippath pathbbox newpath
72 sub /URy E 72 sub /URx E 72 add /LLy E 72 add /LLx E
/Sq5 5 sqrt D
/F 2 Sq5 add D
/Wx URx LLx sub D /Wy URy LLy sub D
/Xx Wx 4 div D /Xy Wy F div D /X Xx Xy le {Xx}{Xy}ifelse D
Wx X 4 mul sub 2 div LLx add X 2 mul add Wy X F mul sub 2 div LLy add translate
/X X Sq5 mul D
X dup scale
0.1 X div setlinewidth
S
[ 1 .5 0 1 0 0 ] concat
0 1 N {I mul /A E
	0 1 N {I mul /B E
		S A B translate
		newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
			closepath
		S I B add 1 1 A sub setrgbcolor fill R stroke % Green
		R
	      } for
      } for
R
S
[ -1 .5 0 1 0 0 ] concat
0 1 N {I mul /A E
	0 1 N {I mul /B E
		S A B translate
		newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
			closepath
		S I B add 1 A sub 1 setrgbcolor fill R stroke % Blue
		R
	      } for
      } for
R
S
[ 1 .5 -1 0.5 0 1 ] concat
0 1 N {I mul /A E
	0 1 N {I mul /B E
		S A B translate
		newpath 0 0 moveto I 0 rlineto 0 I rlineto I neg 0 rlineto
			closepath
		S 1 1 B sub 1 A sub setrgbcolor fill R stroke % Red
		R
	      } for
      } for
R
showpage
